安装pptpd 您所在的位置:网站首页 file descriptor in bad state 安装pptpd

安装pptpd

2023-04-21 19:18| 来源: 网络整理| 查看: 265

安装前准备

第一步:检测是否符合pptp的搭建环境的要求

服务器版本:CentOs 6.4 xen vps 如果检查结果没有这些支持的话,是不能安装pptp的。执行指令: #modprobe ppp-compress-18 && echo ok 这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令: #cat /dev/net/tun 如果这条指令显示结果为下面的文本,则表明通过: cat: /dev/net/tun: File descriptor in bad state 上述两条均通过,才能安装pptp。否则就只能考虑openvpn,或者请vps空间商的技术客服为你的VPS打开TUN/TAP/PPP功能了,貌似有部分vps控制面板上提供打开TUN/TAP/PPP功能的按钮。 Cent os 6.4内核版本在2.6.15以上,都默认集成了MPPE和PPP,因此下面检查可以忽略: http://www.ksharpdabu.info/?p=2178 #rpm -q ppp //查询当前系统的ppp是否默认集成了,以及ppp的版本 检查PPP是否支持MPPE 用以下命令检查PPP是否支持MPPE: #strings '/usr/sbin/pppd' |grep -i mppe | wc --lines http://www.ksharpdabu.info/?p=2178 如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。 第二步: 1.安装ppp和iptables PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了 http://www.ksharpdabu.info/?p=2178 #yum install -y perl ppp iptables //centos默认安装了iptables和ppp,切记将ppp先卸载后再执行这一步 2.安装pptpd

刚才用了yum安装了ppp,但是这里有个问题,几乎大部分的人都会在这里遇到ppp和pptpd不兼容的错误。因为yum安装ppp,总是安装最新版本的ppp,而由于安装的ppp的版本不同,那么就需要安装对应版本的pptpd才行。(参考我的文章《ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64的解决办法及原因|大步's blog》)

我们要先查看已经安装的ppp的版本,在去找对应的pptpd版本。我手头刚好有两个vps,一个是前年装的pptp vpn,一个是一年后装的pptp vpn,所以,装的yum install ppp的版本不同。

使用下面的命令查看ppp的版本,前提你是yum安装的ppp。

旧的vps上的ppp版本显示:

#yum list installed ppp

显示:

ppp.i386                     2.4.4-2.el5                     installed

新的vps上的ppp版本显示;

#yum list installed ppp

显示:

ppp.i686                       2.4.5-5.el6                       @base

所以,要对根据ppp版本选择对应的pptpd版本。这里我主要列出常用的。

ppp 2.4.4——————>pptpd 1.3.4

ppp 2.5.0——————>pptpd 1.4.0

贴个ppp和pptpd各个版本的下载地址;http://poptop.sourceforge.net/yum/stable/packages/

下载完之后使用命令:

#rpm -ivh 

配置VPN

第1步,修改/etc/ppp/optons.pptpd

将dns修改为:

ms-dns 8.8.8.8 ms-dns 8.8.4.4

这两个dns地址都是google提供的,防污染。

第2步,修改 /etc/pptpd.conf

localip 118.193.222.212 remoteip 192.168.10.201-238

其中localip是vpn客户端连接后访问外网时所附带的ip,而remoteip是vpn客户端连接后所分配到的ip,这里的网段是192.168.10.XXX

第3步,修改 /etc/ppp/chap-secrets

在最后一行添加:

test pptpdtestpw *

其中pptpd和*是固定的,test是用户名,testpw是密码,可以在下一行继续添加其他用户

此时,vpn服务器已经搭建好了,只是客户端还不能访问外网而已,所以接下来就要设置iptables,配置转发规则了。

第4步,修改 /etc/sysctl.conf

net.ipv4.ip_forward = 1

第5步,设置nat规则

#vim snat.sh

内容如下:

[plain]  view plain  copy  print ? modprobe iptable_nat   modprobe ip_conntrack   modprobe ip_conntrack_ftp   modprobe ip_nat_ftp      iptables -F   iptables -X   iptables -Z      iptables -t nat -A POSTROUTING -o seth0 -s 192.168.10.0/24 -j SNAT --to 118.193.222.212   其中-s后的地址是之前remoteip所设置的网段,-o后的网卡是当前vps可以连外网的网卡,一般是eth0,--to后的地址是可以连外网的ip

第6步,使iptables生效

#sysctl -p

#sh snat.sh

#/etc/init.d/iptables save

#/etc/init.d/iptables restart

#service pptpd restart

至此,VPN服务器搭建完成,希望对大家有所帮助。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有